package com.caizi.base.utils;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * @Author 菜菜籽
 * @Date 2024-10-21 8:22
 * @description: 一些算法
 */
public class AlgorithmUtil {
    //获取两个列表的交集
    public static <T> List<T> getIntersection(List<T> list1, List<T> list2) {
        Set<T> set1 = new HashSet<>(list1); // 将list1转换为set
        List<T> intersection = new ArrayList<>();
        for (T item : list2) {
            if (set1.contains(item)) {
                intersection.add(item); // 添加到交集列表中
            }
        }
        return intersection;
    }

    //获取两个列表的并集
    public static <T> List<T> getUnion(List<T> list1, List<T> list2) {
        Set<T> set = new HashSet<>(list1);
        set.addAll(list2);
        return new ArrayList<>(set);
    }
}
